Many organizations, including businesses, governments, and educational institutions utilize computer networks that connect to a plurality of computing devices. The computing devices may be at the same or different locations and may be, for example, computers, servers, etc. Common types of computer networks include local area networks (LANs) and wide area networks (WANs).
In computer networks, one or more intermediate network devices (i.e., switches, bridges, routers, etc.) are often used to connect together the computing devices. Between the various intermediate network devices and the computing devices are wired or wireless connections, referred to herein as links. One or more consecutive links form a communication path that is usable to transfer information (in the form of packets) between the computing devices. Most computer networks include redundant communications paths so that a failure of any given link does not isolate any portion of the network. Such networks are typically referred to as meshed or partially meshed networks. However, the existence of redundant links may result in the formation of circuitous paths or “loops” within the network. Loops are undesirable because packets may, potentially, traverse the loops indefinitely. Furthermore, some intermediate network devices, such as bridges or switches, replicate frames whose destination is not known, thereby resulting in a proliferation of packets along the loops. In such circumstances, the resulting traffic may effectively overwhelm the network.
To avoid the formation of loops, most intermediate network devices execute spanning tree techniques that allow the network devices to calculate an active network topology that is loop-free (i.e., a tree) and yet connects the computing devices within the network (i.e., the tree is spanning). The Institute of Electrical and Electronics Engineers (IEEE) has promulgated a standard (the 802.1D standard) that defines a spanning tree protocol to be executed by 802.1D compatible devices.